In bitstream recording one is free to subdivide the bitstream into sub-units of more regular structure. Presentation data in DVDs (digital video or versatile disc) is organised into units called Video Object Unit, denoted VOBU, e.g. in the DVD Specifications for Video Recording. VOBUs have a variable size (data amount measured in number of sectors), but have also a variable duration (measured in number of video fields).
For data retrieval from the disc the DVD Specifications for Video Recording foresees a xe2x80x98VOBU mapxe2x80x99 which is a table where for every VOBU in a recording, the length in sectors and the duration in fields is entered.
The directory and file structure of DVD Stream Recording is organised in Stream Data and Navigation Data of the DVD Stream Recording as follows:
Any DVD Streamer Device has certain requirements to store its own, Streamer-specific navigation data on the disc. These data are solely for helping the retrieval of recorded data; they need not be understood or even be visible to any outside Application Device.
Any DVD Streamer Device needs to communicate with the Application Device it is connected to. This communication should be straight forward, and as universal as possible, so that the maximum possible range of applicationsxe2x80x94both today and futurexe2x80x94can be connected to the Streamer. The Navigation Data to support such communication must be understandable by the Streamer as well as by the Application Device; they will be called xe2x80x9cCommon navigation dataxe2x80x9d in the following.
The Streamer Device should offer to the connected Application Device a means for storing its own private data of any desired kind. The Streamer needs not to understand any of the content, internal structure, or meaning of this xe2x80x9cApplication-specific navigation dataxe2x80x9d.
Navigation data is provided to control the recording, playing back, and editing of any bitstreams that are recorded. In DVD Stream Recording, Navigation Data is called xe2x80x9cStreamer Informationxe2x80x9d (STRI). STRI consists of six kinds of information tables, namely Streamer Video Manager Information (STR_VMGI), Stream File Information Table (SFIT), Original Program Chain Information (ORG_PGCI), User Defined Program Chain Information Table (UD_PGCIT), Text Data Manager (TXT_DT_MG), and Application Private Data Manager (APD_MG).
The Stream File Information Table contains the information where on the recording media the stream data are recorded. The Original PGC Information has the function of a play list, which contains all takes which were made. A take is defined as containing the information between a start and a stop action in the sequence of recording or also called one program of the ORG_PGCI. In addition, a Stream Object (SOB) contains a full take or part of a take. With both tables the data can be retrieved for playback.
The User Defined PGC Information contains information, which are defined by a user.
In order to address more precisely a program contains one or more cells. A cell points to Stream Object Units (SOBU) and to each SOBU an Incremental Application Packet Arrival Time (IAPAT) is assigned.
It is one object of the invention to disclose a method for fast accessing of a digital data stream representing video or audio information.
A DVD Streamer is able to mark parts of the stream as temporarily erased (TE). These TE parts are both completely reconstructable and, permanently erasable as well as. The TE parts are not presented during playback, i.e. during playback the DVD streamer handles the TE parts as non-existent.
Because TE parts are only marked inside the ORG_PGCI (Original Program Chain Information), a playback via the User Defined Program Chain Information (UD_PGCI), needs a view into the Original Program Chain Information (ORG_PGCI), in order to find out, whether the cells of the UD_PGCI points to TE parts or not, i.e. to find out, which parts of the cells of the UD_PGC may be presented and which parts must be skipped.
The current proposal for a specification of the DVD Streamer performs this via a Stream Cell General Information (SC_GI) of the Programs of a UD_PGCI.
The process to find out whether a Cell of the UD_PGCI Program #n contains TE parts:
1. summarise the number of Cells (C_Ns) of the Programs from Program #1 to Program #nxe2x88x921 and go into the UD_PGCI Cell with this so derived number;
2. get SC_S_APAT (start time), SC_E_APAT (end time) and SOB_N (SOB number) from the SC_GI of this UD_PGCI Cell;
3. search inside ORG_PGCI for the Cell which points to the same SOB, i.e. compare SOB_N of the UD_PGCI Cell with SOB_N of the ORG_PGCI Cells;
4. investigate, whether SC_S_APAT and SC_E_APAT of the UD_PGCI Cell cover a TE part;
5. playback of the not temporarily erased parts between SC_S_APAT and SC_E_APAT.
The first step is a summation, which may need many UD_PGCI accesses. The third step is a search inside the ORG_PGCI, i.e. this step may need many ORG_PGCI accesses to find the desired Cell.
The invention proposes a way to speed up the first and the third step.
In order to speed up the first step the definition of C_Ns (number of Cells) is changed to xe2x80x9cC_Ns is the summation of the number of Cells of its assigned Program and all previous Programs of this Program Chainxe2x80x9d. The definition change keeps the size of two bytes per C_Ns. The number of Cells of Program #n is equal to (C_Ns of Program #n)xe2x88x92(C_Ns of Program #nxe2x88x921).
In order to speed up the third step the SOB_N of the UD_PGCI Cell is replaced by CELL_N (Cell Number). CELL_N also consists of 2 bytes and contains the Cell number of the appropriate ORG_PGCI Cell. So the access to the ORG_PGCI Cell can be performed without any search inside the ORG_PGCI.
With these two new definitions the process to find out whether a Cell of UD_PGCI Program #n contains TE parts is as follows:
1. get SC_S_APAT (start time), SC_E_APAT (end time) and CELL_N (Cell number) from the SC_GI of the UD_PGCI #(C_Ns of Program #nxe2x88x921). Program #0 doesn""t exist, therefore C_Ns of Program #0 shalt be treated as 0;
2. investigate, whether SC_S_APAT and SC_E_APAT of the ORG_PGCI Cell #CELL_N and all following ORG_PGCI Cells with the same SOB_N cover a TE part or not;
3. playback of the not temporarily erased parts between SC_S_APAT and SC_E_APAT.
Advantageously the playback process is simplified and contains only direct accesses to the Program Chains, i.e. the process needs no summation and no search. In addition there is no need of additional storage space for this invention.